# Maintainer: Alexander F. Rødseth <xyproto@archlinux.org>
# Contributor: Wesley Moore <wes@wezm.net>

pkgname=bat
pkgver=0.24.0
pkgrel=1
pkgdesc='Cat clone with syntax highlighting and git integration'
arch=(loong64 x86_64)
url='https://github.com/sharkdp/bat'
license=(APACHE MIT)
depends=(libgit2 oniguruma)
makedepends=(clang cmake git rust)
source=("git+$url#commit=fc9546854f5a7b38823f4990453c6cde386bfd3b") # tag: v0.24.0
b2sums=('SKIP')

prepare() {
  cargo fetch --locked --manifest-path $pkgname/Cargo.toml
}

build() {
  export CFLAGS+=' -ffat-lto-objects -w'
  cargo build --locked --manifest-path $pkgname/Cargo.toml --release
}

check() {
  cargo test --locked --manifest-path $pkgname/Cargo.toml
}

package() {
  install -Dm755 $pkgname/target/release/$pkgname "$pkgdir/usr/bin/$pkgname"

  # Package licenses
  install -Dm644 $pkgname/LICENSE-APACHE \
    "$pkgdir/usr/share/licenses/$pkgname/LICENSE-APACHE"
  install -Dm644 $pkgname/LICENSE-MIT \
    "$pkgdir/usr/share/licenses/$pkgname/LICENSE-MIT"

  cd $pkgname/target/release/build

  # Find and package the man page (because cargo --out-dir is too new)
  find . -name bat.1 -type f -exec install -Dm644 {} \
    "$pkgdir/usr/share/man/man1/bat.1" \;

  # Find and package the bash completion file
  find . -name bat.bash -type f -exec install -Dm644 {} \
    "$pkgdir/usr/share/bash-completion/completions/bat" \;

  # Find and package the zsh completion file (not in zsh-completions yet)
  find . -name bat.zsh -type f -exec install -Dm644 {} \
    "$pkgdir/usr/share/zsh/site-functions/_bat" \;

  # Find and package the fish completion file
  find . -name bat.fish -type f -exec install -Dm644 {} \
    "$pkgdir/usr/share/fish/vendor_completions.d/bat.fish" \;
}
